/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ppsa.Servlet;

import com.ppsa.bean.AsignacionBean;
import com.ppsa.bean.DocumentoBean;
import com.ppsa.bean.EmpleadoBean;
import com.ppsa.bean.FormatoBean;
import com.ppsa.bean.PerfilBean;
import com.ppsa.bean.ResultadoBean;
import com.ppsa.bean.ReunionBean;
import com.ppsa.bean.UsuarioBean;
import com.ppsa.common.Constantes;
import com.ppsa.common.Util;
import com.ppsa.logic.ConsultaLogic;
import com.ppsa.logic.MantenimientoLogic;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.lang.ObjectUtils;
import org.apache.log4j.Logger;
import org.json.JSONObject;

/**
 *
 * @author AdminTdp
 */
public class ServletMantenimiento extends HttpServlet {
    
    static final Logger m_log = Logger.getLogger(ServletMantenimiento.class.getName());
    /**
     * Processes requests for both HTTP
     * <code>GET</code> and
     * <code>POST</code> methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest( HttpServletRequest request, HttpServletResponse response )
            throws ServletException, IOException {
        m_log.info("[ServletMantenimiento] << ENTER");

        HttpSession objL_sesion = objL_sesion = request.getSession(true);

        try {

            UsuarioBean objL_usuarioBeanSession = new UsuarioBean();
            MantenimientoLogic objL_mantenimiento = null;
            ConsultaLogic objL_consulta = null;
            JSONObject objJSON = null;
            String strpv_metodo = Util.getParameterString(request, "metodo", null, "");
            objL_usuarioBeanSession = (UsuarioBean) objL_sesion.getAttribute("objL_usuario");
            ResultadoBean objResultado = null;
            m_log.info("metodo := " + strpv_metodo);
            switch ( Util.obtenerEnumSwitch(strpv_metodo ) ) {
                case  Constantes.METODO_frmUsuario: {
                    objJSON = new JSONObject();
                    UsuarioBean objL_usuarioBean = new UsuarioBean();
                    Integer intpv_codigoPerfil = 0;
                    objL_mantenimiento = new MantenimientoLogic();
                    String strpv_codigoUsuario = Util.getParameterString(request, "strpv_codigoUsuario", null, "");
                    String strpv_codigoPerfil = Util.getParameterString(request, "strpv_codigoPerfil", null, "");
                    System.out.println("strpv_codigoUsuario -> " + strpv_codigoUsuario);
                    System.out.println("strpv_codigoPerfil  -> " + strpv_codigoPerfil);
                    objL_usuarioBean.setStrpv_codigoUsuario(strpv_codigoUsuario);
                    objL_usuarioBean.setStrpv_codigoPerfil(strpv_codigoPerfil);
                    intpv_codigoPerfil = objL_mantenimiento.actualizarUsuario(objL_usuarioBean);
                    objJSON.put("strpv_codigoUsuario", intpv_codigoPerfil);
                    Util.returnJSONWriter(response, objJSON.toString());
                    break;
                }
                case Constantes.METODO_frmPerfil : {
                    objJSON = new JSONObject();
                    objL_mantenimiento = new MantenimientoLogic();
                    PerfilBean objL_perfil = new PerfilBean();
                    Integer intpv_codigoPerfil = 0;
                    String strpv_accion = Util.getParameterString(request, "accion", null, "");
                    if( !strpv_accion.equals(Constantes.CASE_ELIMINAR_BEAN) ){

                        String strpv_codigoPerfil = Util.getParameterString(request, "strpv_codigoPerfil", null, "");
                        String strpv_nombrePerfil = Util.getParameterString(request, "strpv_nombrePerfil", null, "");
                        String strpv_descripcionPerfil = Util.getParameterString(request, "strpv_descripcionPerfil", null, "");
                        String strpv_estadoPerfil = Util.getParameterString(request, "strpv_estadoPerfil", null, "");
                        String strpv_codigoEstadoPerfil = Util.getParameterString(request, "strpv_codigoEstadoPerfil", null, "");
                        String strpv_permisoCreacion = Util.getParameterString(request, "strpv_permisoCreacion", null, "");
                        String strpv_permisoRevisar = Util.getParameterString(request, "strpv_permisoRevisar", null, "");
                        String strpv_permisoAprobar = Util.getParameterString(request, "strpv_permisoAprobar", null, "");
                        String strpv_permisoConsulta = Util.getParameterString(request, "strpv_permisoConsulta", null, "");
                        String strpv_permisoAdminReunion = Util.getParameterString(request, "strpv_permisoAdminReunion", null, "");
                        String strpv_permisoAdminPerfil = Util.getParameterString(request, "strpv_permisoAdminPerfil", null, "");
                        String strpv_permisoAdminUsuario = Util.getParameterString(request, "strpv_permisoAdminUsuario", null, "");

                        System.out.println("strpv_codigoPerfil ->" + strpv_codigoPerfil);
                        System.out.println("strpv_nombrePerfil ->" + strpv_nombrePerfil);
                        System.out.println("strpv_descripcionPerfil ->" + strpv_descripcionPerfil);
                        System.out.println("strpv_estadoPerfil ->" + strpv_estadoPerfil);
                        System.out.println("strpv_codigoEstadoPerfil->" + strpv_codigoEstadoPerfil);
                        System.out.println("strpv_permisoCreacion->" + strpv_permisoCreacion);
                        System.out.println("strpv_permisoRevisar->" + strpv_permisoRevisar);
                        System.out.println("strpv_permisoAprobar->" + strpv_permisoAprobar);
                        System.out.println("strpv_permisoConsulta->" + strpv_permisoConsulta);
                        System.out.println("strpv_permisoAdminUsuario->" + strpv_permisoAdminUsuario);
                        System.out.println("strpv_permisoAdminPerfil->" + strpv_permisoAdminPerfil);
                        System.out.println("strpv_permisoAdminReunion->" + strpv_permisoAdminReunion);

                        objL_perfil.setStrpv_codigoPerfil(strpv_codigoPerfil);
                        objL_perfil.setStrpv_nombrePerfil(strpv_nombrePerfil);
                        objL_perfil.setStrpv_descripcionPerfil(strpv_descripcionPerfil);
                        objL_perfil.setStrpv_codigoEstadoPerfil(strpv_codigoEstadoPerfil);
                        objL_perfil.setStrpv_permisoCreacion(strpv_permisoCreacion);
                        objL_perfil.setStrpv_permisoRevisar(strpv_permisoRevisar);
                        objL_perfil.setStrpv_permisoAprobar(strpv_permisoAprobar);
                        objL_perfil.setStrpv_permisoConsulta(strpv_permisoConsulta);
                        objL_perfil.setStrpv_permisoAdminUsuario(strpv_permisoAdminUsuario);
                        objL_perfil.setStrpv_permisoAdminPerfil(strpv_permisoAdminPerfil);
                        objL_perfil.setStrpv_permisoAdminReunion(strpv_permisoAdminReunion);

                        intpv_codigoPerfil = objL_mantenimiento.actualizarPerfil(objL_perfil);

                        objJSON.put("strpv_codigoPerfil", intpv_codigoPerfil);
                        Util.returnJSONWriter(response, objJSON.toString());
                    } else {

                        ResultadoBean obj_Resultado = new ResultadoBean();
                        String strpv_codigoPerfil = Util.getParameterString(request, "strpv_codigoPerfil", null, "");
                        objL_perfil.setStrpv_codigoPerfil(strpv_codigoPerfil);
                        obj_Resultado = objL_mantenimiento.eliminarPerfil(objL_perfil);

                        /* Codigo de salida */
                        objJSON.put("resultado", intpv_codigoPerfil);
                        objJSON.put("mensaje", obj_Resultado.getStrpv_mensaje());
                        Util.returnJSONWriter(response, objJSON.toString());
                    }
                    break;
                }
                case Constantes.METODO_frmDocumento: {
                    DocumentoBean objL_documentoBean = new DocumentoBean();
                    objL_mantenimiento = new MantenimientoLogic();
                    objJSON = new JSONObject();
                    String strpv_accion = Util.getParameterString(request, "accion", null, "");
                    if( !strpv_accion.equals(Constantes.CASE_ELIMINAR_BEAN) ){

                        String strpv_codigoDocumento = ObjectUtils.toString(request.getParameter("strpv_codigoDocumento"));
                        String strpv_codigoReferencial = ObjectUtils.toString(request.getParameter("strpv_codigoReferencial"));
                        String strpv_nombreDocumento = ObjectUtils.toString(request.getParameter("strpv_nombreDocumento"));
                        String strpv_codigoVersion = ObjectUtils.toString(request.getParameter("strpv_codigoVersion"), "0");
                        String strpv_descripcionDocumento = ObjectUtils.toString(request.getParameter("strpv_descripcionDocumento"));
                        String strpv_periodoValidacion = ObjectUtils.toString(request.getParameter("strpv_periodoValidacion"));
                        String strpv_codigoTipoDocumento = ObjectUtils.toString(request.getParameter("strpv_codigoTipoDocumento"));
                        String strpv_codigoEmpresa = ObjectUtils.toString(request.getParameter("strpv_codigoEmpresa"));
                        String strpv_lstCargo = ObjectUtils.toString(request.getParameter("strpv_ArrayCargo"));
                        String strpv_ArrayResponsableCopia = ObjectUtils.toString(request.getParameter("strpv_ArrayResponsableCopia"));
                        String strpv_ubicacion = ObjectUtils.toString(request.getParameter("strpv_ubicacion"));
                        String strpv_numeroCopia = ObjectUtils.toString(request.getParameter("strpv_numeroCopia"));
                        String strpv_responsableCopia = ObjectUtils.toString(request.getParameter("strpv_responsableCopia"));
                        String strpv_tipoUbicacion = ObjectUtils.toString(request.getParameter("strpv_tipoUbicacion"));
                        String strpv_flagVersion = ObjectUtils.toString(request.getParameter("strpv_flagVersion"));
                        String strpv_urlPDFDocumento = ObjectUtils.toString(request.getParameter("strpv_urlPDFDocumento"));
                        String strpv_responsableRevisar = ObjectUtils.toString(request.getParameter("strpv_responsableRevisar"));
                        String strpv_responsableAprobar = ObjectUtils.toString(request.getParameter("strpv_responsableAprobar"));

                        String[] arrayData=request.getParameterValues("array_formato[]");
                        List<FormatoBean> lstL_formato = new ArrayList<FormatoBean>();
                        if( arrayData  != null ){
                            for( int i = 0 ; i <= arrayData.length -1 ; i++ ){
                                System.out.println( "--> " + arrayData[i] );
                                //2827193,F0001,NOMBRE,1,xlsx
                                String[] temp  = arrayData[i].split( "," );
                                FormatoBean objL_formato = new FormatoBean();
                                objL_formato.setStrpv_codigoArchivo( temp[0] );
                                objL_formato.setStrpv_codigoRefFormato( temp[1] );
                                objL_formato.setStrpv_versionFormato( temp[3] );
                                objL_formato.setStrpv_nombreFormato( temp[2] );
                                objL_formato.setStrpv_extension( temp[4] );
                                lstL_formato.add( objL_formato );
                            }
                        }
                        objL_documentoBean.setLstpv_formato( lstL_formato );
                        m_log.info("strpv_codigoDocumento ->" + strpv_codigoDocumento);
                        m_log.info("strpv_codigoReferencial ->" + strpv_codigoReferencial);
                        m_log.info("strpv_nombreDocumento ->" + strpv_nombreDocumento);
                        m_log.info("strpv_codigoVersion ->" + strpv_codigoVersion);
                        m_log.info("strpv_descripcionDocumento->" + strpv_descripcionDocumento);
                        m_log.info("strpv_periodoValidacion->" + strpv_periodoValidacion);
                        m_log.info("strpv_codigoTipoDocumento->" + strpv_codigoTipoDocumento);
                        m_log.info("strpv_codigoEmpresa->" + strpv_codigoEmpresa);
                        m_log.info("strpv_lstCargo->" + strpv_lstCargo);
                        m_log.info("strpv_tipoUbicacion->" + strpv_tipoUbicacion);
                        m_log.info("strpv_ubicacion->" + strpv_ubicacion);
                        m_log.info("strpv_numeroCopia->" + strpv_numeroCopia);
                        m_log.info("strpv_responsableCopia->" + strpv_responsableCopia);
                        m_log.info("strpv_flagVersion -->" + strpv_flagVersion);
                        m_log.info("strpv_ArrayResponsableCopia -->" + strpv_ArrayResponsableCopia);
                        m_log.info("strpv_urlPDFDocumento -->" + strpv_urlPDFDocumento);
                        m_log.info("strpv_responsableRevisar -->" + strpv_responsableRevisar);
                        m_log.info("strpv_responsableAprobar -->" + strpv_responsableAprobar);

                        objL_documentoBean.setStrpv_codigoDocumento(strpv_codigoDocumento);
                        objL_documentoBean.setStrpv_codigoReferencial(strpv_codigoReferencial);
                        objL_documentoBean.setStrpv_nombreDocumento(strpv_nombreDocumento);
                        objL_documentoBean.setStrpv_codigoVersion(strpv_codigoVersion);
                        objL_documentoBean.setStrpv_descripcionDocumento(strpv_descripcionDocumento);
                        objL_documentoBean.setStrpv_periodoValidacion(strpv_periodoValidacion);
                        objL_documentoBean.setStrpv_codigoTipoDocumento(strpv_codigoTipoDocumento);
                        objL_documentoBean.setStrpv_codigoEmpresa(strpv_codigoEmpresa);
                        //String strpv_lstCargo =  ObjectUtils.toString(request.getParameter("strpv_ArrayCargo"));
                        //objL_documentoBean.setLstpv_cargo(Util.convertirStringListCargo(strpv_lstCargo));
                        objL_documentoBean.setArrpv_cargo(strpv_lstCargo.split(Constantes.SEPARADOR_STRING));
                        objL_documentoBean.setStrpv_arrayCargo(strpv_lstCargo);
                        objL_documentoBean.setStrpv_ubicacion(strpv_ubicacion);
                        objL_documentoBean.setStrpv_numeroCopia(strpv_numeroCopia);
                        objL_documentoBean.setStrpv_responsableCopia(strpv_responsableCopia);
                        objL_documentoBean.setStrpv_arrayResponsableCopia(strpv_ArrayResponsableCopia);
                        objL_documentoBean.setStrpv_flagVersion(strpv_flagVersion);
                        objL_documentoBean.setStrpv_urlPDFDocumento(strpv_urlPDFDocumento);
                        objL_documentoBean.setStrpv_responsableRevisar(strpv_responsableRevisar);
                        objL_documentoBean.setStrpv_responsableAprobar(strpv_responsableAprobar);

                        Integer intpv_codigoDocumento = 0;

                        intpv_codigoDocumento = objL_mantenimiento.actualizarDocumento(objL_documentoBean, objL_usuarioBeanSession);

                        objJSON.put("strpv_codigoDocumento", intpv_codigoDocumento);
                        Util.returnJSONWriter(response, objJSON.toString());
                    } else {
                        ResultadoBean obj_Resultado = new ResultadoBean();

                        String strpv_codigoDocumento = Util.getParameterString(request, "strpv_codigoDocumento", null, "");
                        String strpv_codigoVersion = Util.getParameterString(request, "strpv_codigoVersion", null, "");
                        objL_documentoBean.setStrpv_codigoDocumento(strpv_codigoDocumento);
                        objL_documentoBean.setStrpv_codigoVersion(strpv_codigoVersion);

                        Integer intpv_codigoPerfil = 0;

                        obj_Resultado = objL_mantenimiento.eliminarDocumento(objL_documentoBean);

                        objJSON.put("resultado", intpv_codigoPerfil);
                        objJSON.put("mensaje", obj_Resultado.getStrpv_mensaje());
                        Util.returnJSONWriter(response, objJSON.toString());
                    }
                    break;
                }
                case Constantes.METODO_frmReunion:
                    ReunionBean objL_reunionBean = new ReunionBean();
                    objL_mantenimiento = new MantenimientoLogic();
                    objJSON = new JSONObject();
                    Integer intpv_codigoDocumento = 0;
                    String strpv_accion = Util.getParameterString(request, "accion", null, "");
                    if( !strpv_accion.equals(Constantes.CASE_ELIMINAR_BEAN) ){
                        String strpv_codigoReunion = ObjectUtils.toString(request.getParameter("strpv_codigoReunion"));
                        String strpv_nombreReunion = ObjectUtils.toString(request.getParameter("strpv_nombreReunion"));
                        String strpv_descripcionReunion = ObjectUtils.toString(request.getParameter("strpv_descripcionReunion"));
                        String strpv_listUsuario = ObjectUtils.toString(request.getParameter("strpv_listUsuario"));
                        String strpv_fechaReunion = ObjectUtils.toString(request.getParameter("strpv_fechaReunion"));
                        String strpv_horaReunion = ObjectUtils.toString(request.getParameter("strpv_horaReunion"));
                        m_log.info("strpv_codigoReunion->" + strpv_codigoReunion);
                        m_log.info("strpv_nombreReunion->" + strpv_nombreReunion);
                        m_log.info("strpv_descripcionReunion->" + strpv_descripcionReunion);
                        m_log.info("strpv_listUsuario->" + strpv_listUsuario);
                        m_log.info("strpv_fechaReunion->" + strpv_fechaReunion);
                        m_log.info("strpv_horaReunion->" + strpv_horaReunion);
                        objL_reunionBean.setStrpv_codigoReunion(strpv_codigoReunion);
                        objL_reunionBean.setStrpv_nombreReunion(strpv_nombreReunion);
                        objL_reunionBean.setStrpv_descripcionReunion(strpv_descripcionReunion);
                        objL_reunionBean.setStrpv_fechaReunion(strpv_fechaReunion);
                        objL_reunionBean.setStrpv_horaReunion(strpv_horaReunion);
                        //objL_reunionBean.setLstpv_usuario(Util.convertirStringListUsuario(strpv_listUsuario));
                        objL_reunionBean.setStrpv_arrayParticipante(strpv_listUsuario);
                        intpv_codigoDocumento = objL_mantenimiento.actualizarReunion(objL_reunionBean);
                        objJSON.put("strpv_codigoReunion", intpv_codigoDocumento);
                        Util.returnJSONWriter(response, objJSON.toString());                    
                    }

                    break;
                case Constantes.METODO_actualizarDocumento: {
                    String strpv_codigoDocumento = ObjectUtils.toString(request.getParameter("strpv_codigoDocumento"));
                    String strpv_codigoVersion = ObjectUtils.toString(request.getParameter("strpv_codigoVersion"));
                    String strpv_tipoActualizacion = ObjectUtils.toString(request.getParameter("strpv_tipoActualizacion"));
                    m_log.info("strpv_codigoDocumento -->" + strpv_codigoDocumento);
                    m_log.info("strpv_codigoVersion -->" + strpv_codigoVersion);
                    m_log.info("strpv_tipoActualizacion -->" + strpv_tipoActualizacion);
                    objL_mantenimiento = new MantenimientoLogic();
                    objResultado = new ResultadoBean();
                    objResultado = objL_mantenimiento.actualizarDocumentoEstado(strpv_codigoDocumento, strpv_codigoVersion, strpv_tipoActualizacion, objL_usuarioBeanSession);
                    JSONObject objL_json = new JSONObject();
                    objL_json.put("strpv_validacion", "1");
                    objL_json.put("strpv_MensajeValidacion", objResultado.getStrpv_mensaje());
                    Util.returnJSONWriter(response, objL_json.toString());
                    break;
                }

                case Constantes.METODO_form_asignacion:
                    String strpv_accionTemp = ObjectUtils.toString(request.getParameter("accion"));
                    m_log.info("strpv_accionTemp -> " + strpv_accionTemp );
                    if( strpv_accionTemp.equals("actualizar") ){
                        String strpv_codigoAsignacion = ObjectUtils.toString(request.getParameter("strpv_codigoAsignacion"));
                        String strpv_codigoReunionTemp = ObjectUtils.toString(request.getParameter("strpv_codigoReunion"));
                        String strpv_nombreAsignacion = ObjectUtils.toString(request.getParameter("strpv_nombreAsignacion"));
                        String strpv_descripcionAsignacion = ObjectUtils.toString(request.getParameter("strpv_descripcionAsignacion"));
                        String strpv_fechaPlazo = ObjectUtils.toString(request.getParameter("strpv_fechaPlazo"));
                        String strpv_lstUsuario = ObjectUtils.toString(request.getParameter("strpv_lstUsuario"));

                        m_log.info("strpv_codigoAsignacion->" + strpv_codigoAsignacion);
                        m_log.info("strpv_codigoReunion->" + strpv_codigoReunionTemp);
                        m_log.info("strpv_nombreAsignacion->" + strpv_nombreAsignacion);
                        m_log.info("strpv_descripcionAsignacion->" + strpv_descripcionAsignacion);
                        m_log.info("strpv_fechaPlazo->" + strpv_fechaPlazo);
                        m_log.info("strpv_lstUsuario->" + strpv_lstUsuario);

                        AsignacionBean objL_asignacion = new AsignacionBean();
                        objL_asignacion.setStrpv_codigoAsignacion(strpv_codigoAsignacion);
                        objL_asignacion.setStrpv_codigoReunion(strpv_codigoReunionTemp);
                        objL_asignacion.setStrpv_nombreAsignacion(strpv_nombreAsignacion);
                        objL_asignacion.setStrpv_descripcionAsignacion(strpv_descripcionAsignacion);
                        objL_asignacion.setStrpv_fechaPlazo(strpv_fechaPlazo);
                        objL_asignacion.setStrpv_lstUsuario(strpv_lstUsuario);
                        objL_mantenimiento = new MantenimientoLogic();
                        objL_mantenimiento.actualizarAsignacion(objL_asignacion);
                        JSONObject json = new JSONObject();
                        json.put("strpv_codigoAsignacion", objL_asignacion.getStrpv_codigoAsignacion());
                        Util.returnJSONWriter(response, json.toString());

                    } else if( strpv_accionTemp.equals("obtener") ){
                        String strpv_codigoAsignacion = ObjectUtils.toString(request.getParameter("strpv_codigoAsignacion"));
                        m_log.info("strpv_codigoAsignacion ->" + strpv_codigoAsignacion);
                        objL_consulta = new ConsultaLogic();
                        AsignacionBean objL_asignacion = new AsignacionBean();
                        objL_asignacion = objL_consulta.obtenerAsignacion(strpv_codigoAsignacion);
                        JSONObject objL_json = new JSONObject();

                        objL_json.put("strpv_codigoReunion", objL_asignacion.getStrpv_codigoReunion());
                        objL_json.put("strpv_codigoAsignacion", objL_asignacion.getStrpv_codigoAsignacion());
                        objL_json.put("strpv_nombreAsignacion", objL_asignacion.getStrpv_nombreAsignacion());
                        objL_json.put("strpv_descripcionAsignacion", objL_asignacion.getStrpv_descripcionAsignacion());
                        objL_json.put("strpv_fechaPlazo", objL_asignacion.getStrpv_fechaPlazo());
                        objL_json.put("strpv_lstUsuario", objL_asignacion.getStrpv_lstUsuario());

                        Util.returnJSONWriter(response, objL_json.toString());
                    } else if( strpv_accionTemp.equals("eliminar") ){

                        String strpv_codigoAsignacion = ObjectUtils.toString(request.getParameter("strpv_codigoAsignacion"));
                        objL_mantenimiento = new MantenimientoLogic();
                        objL_mantenimiento.eliminarAsignacion(strpv_codigoAsignacion);

                        JSONObject objL_json = new JSONObject();
                        objL_json.put("strpv_codigoAsignacion", "4");
                        Util.returnJSONWriter(response, objL_json.toString());
                    }
                    break;
                case Constantes.METODO_actualizarPorcentajeAsignacion: {
                    String strpv_codigoAsignacion = ObjectUtils.toString(request.getParameter("strpv_codigoAsignacion"));
                    String strpv_porcentaje = ObjectUtils.toString(request.getParameter("strpv_porcentaje"));
                    objL_mantenimiento = new MantenimientoLogic();
                    objL_mantenimiento.actualizarPorcentajeAsignacion(strpv_codigoAsignacion, strpv_porcentaje, objL_usuarioBeanSession);
                    JSONObject objL_json = new JSONObject();
                    objL_json.put("strpv_codigoAsignacion", "4");
                    Util.returnJSONWriter(response, objL_json.toString());
                    break;
                }
                case Constantes.METODO_obtenerListadoParticipantesAsignados: {
                    String strpv_codigoAsignacion = ObjectUtils.toString(request.getParameter("strpv_codigoAsignacion"));
                    System.out.println("strpv_codigoAsignacion -->" + strpv_codigoAsignacion);
                    List<JSONObject> lstL_JSON = new ArrayList<JSONObject>();
                    objL_consulta = new ConsultaLogic();
                    JSONObject objL_json = null;
                    for( EmpleadoBean obj : objL_consulta.obtenerListadoAsignacionEmpleado(strpv_codigoAsignacion) ) {
                        objL_json = new JSONObject();
                        objL_json.put( "strpv_nombreEmpleado", obj.getStrpv_nombreEmpleado() );
                        objL_json.put( "strpv_porcentaje", obj.getStrpv_porcentaje() );
                        lstL_JSON.add( objL_json );
                    }
                    Util.returnJSONWriter(response, lstL_JSON.toString());
                    break;
                }
                case Constantes.METODO_registrarAsistenciaEmpleado:
                    String strpv_codigoReunion = ObjectUtils.toString( request.getParameter( "strpv_codigoReunion" ) );
                    String strpv_codigoEmpleado = ObjectUtils.toString( request.getParameter( "strpv_codigoEmpleado" ) );
                    m_log.info( "strpv_codigoReunion  ->" + strpv_codigoReunion );
                    m_log.info( "strpv_codigoEmpleado ->" + strpv_codigoEmpleado );
                    objL_mantenimiento = new MantenimientoLogic();
                    objL_mantenimiento.registrarAsistenciaEmpleado( strpv_codigoEmpleado, strpv_codigoReunion );
                    JSONObject objL_json = new JSONObject();
                    Util.returnJSONWriter(response, objL_json.toString());
                    break;
                
            }

            m_log.info("[ServletMantenimiento] >> EXIT");
        } catch ( Exception ex ) {
            ex.printStackTrace();
        } finally {
            //out.close();
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP
     * <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet( HttpServletRequest request, HttpServletResponse response )
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP
     * <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost( HttpServletRequest request, HttpServletResponse response )
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}
